# Approve a Single Timesheet Submission

Approves a single Timesheet Submission. You must have
[Time Approval permissions](https://knowledge.kantata.com/hc/en-us/articles/203740920)
to use this endpoint. To approve multiple Timesheet Submissions at once, see
[Timesheet Approvals](/tag/Timesheet-Approvals).
This endpoint returns structured Timesheet Submission objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array
and will be indexed by ID in the `timesheet_submissions` top-level JSON key.
Please see our [Response Format](#section/Response-Format) section for more information.

Endpoint: PUT /timesheet_submissions/{id}/approve
Version: 1.0.0

## Path parameters:

  - `id` (integer, required)
    The ID of the Model.

## Query parameters:

  - `include` (string)
    Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.
- `external_references` (ExternalReference) - Includes references to external integrations for this object.
- `time_entries` (TimeEntry) - Reference the Time Entries that belong to the Timesheet Submissions.
- `user` (User) - Includes user who owns the line items on the submission.
- `workspace` (Workspace) - Includes workspace to which the submission belongs.

## Request fields (application/json):

  - `resolution` (object)

  - `resolution.description` (string)
    Any additional details about the resolution can be added in the description.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 403 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 404 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 422 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 503 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

